home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1999 #2 / Amiga Plus CD - 1999 - No. 2.iso / Anwender / Grafik / PPT / rexx / pixelize.prx < prev    next >
Text File  |  1998-06-29  |  1KB  |  67 lines

  1. /*
  2.     This pixelifies the image.
  3.  
  4.     $Id: Pixelize.prx 1.2 1998/06/29 20:52:22 jj Exp jj $
  5. */
  6.  
  7. /*-------------------------------------------------------------------*/
  8. /*  I suggest you use this header as-is and add your own code below  */
  9.  
  10. OPTIONS RESULTS
  11. SIGNAL ON ERROR
  12. IF ADDRESS() = REXX THEN DO
  13.     startedfromcli = 1
  14.     ADDRESS PPT
  15. END
  16. ELSE DO
  17.     startedfromcli = 0
  18.     ADDRESS PPT
  19. END
  20. RESULT = 'no result'
  21.  
  22. /*-------------------------------------------------------------------*/
  23. /* Add your code here */
  24.  
  25.  
  26. PARSE ARG frame
  27. IF DATATYPE(frame) ~= NUM THEN DO
  28.     RC  = 10
  29.     RC2 = "No frame selected"
  30.     SIGNAL ERROR
  31. END
  32.  
  33. MYREQ.TYPE=SLIDER
  34. MYREQ.MIN=1
  35. MYREQ.MAX=20
  36. MYREQ.DEFAULT=2
  37. MYREQ.LABEL='"Pixel size?"'
  38.  
  39. ASKREQ '"Pixelising image..."' MYREQ
  40.  
  41. IF result = 0 THEN DO
  42.     FRAMEINFO frame STEM inf
  43.  
  44.     neww = inf.width % MYREQ.VALUE
  45.     newh = inf.height % MYREQ.VALUE
  46.  
  47.     PROCESS FRAME 'SCALE NEWHEIGHT='newh' NEWWIDTH='neww' MODE=QUICK'
  48.  
  49.     PROCESS FRAME 'SCALE NEWHEIGHT='inf.height' NEWWIDTH='inf.width' MODE=QUICK'
  50. END
  51.  
  52. EXIT
  53.  
  54. /*-------------------------------------------------------------------*/
  55. /* Again, keep this part intact. This is the error handler. */
  56. ERROR :
  57. returncode = RC
  58. IF startedfromcli = 1 THEN DO
  59.     SAY 'ERROR ' returncode ' on line ' SIGL ': ' RC2
  60.     PPT_TO_BACK
  61. END
  62. ELSE
  63.     SHOWERROR '"'RC2'"' SIGL
  64. EXIT returncode
  65.  
  66.  
  67.